home *** CD-ROM | disk | FTP | other *** search
/ LOGIC Apps / Logic-APPLE_II_APPS.iso / mac / LOGIC Apple II 5.25" Library - ProDOS / PRO035.dsk / CALC.DOC.txt < prev    next >
Text File  |  2012-02-16  |  26KB  |  527 lines

  1.                           THE NUMBER CRUNCHER
  2.  
  3.                              By Glen Bredon
  4.  
  5.     This program provides the powerful number handling abilities of
  6.  the most capable calculators, as well as their convenience of use.
  7.  For quick numerical calculations, and for handling many types of
  8.  numerical algorithms, it is unmatched.  It is also a splended
  9.  tutorial device because of its advanced capabilities.
  10.  
  11.     The main features of the calculator are:
  12.  
  13.   1. It has a complex number mode as well as the usual real mode.
  14.  
  15.   2. It can do numerical integrations including complex line integrals.
  16.  
  17.   3. It is programmable, and its programs can be written and edited with
  18.      the built-in editor.  Programs can also be stored to disk.
  19.  
  20.   4. It directly supports such functions as sin, cos, tan, arcsin,
  21.      arccos, arctan, and the hyperbolic analogues of these.  It also
  22.      supports exp, log, abs, powers, 1/x, real part, imaginary part,
  23.      angle, square root, pi, and int.  All functions are supported by
  24.      the complex mode.
  25.  
  26.   5. It operates in either degree or radian measure.
  27.  
  28.   6. It has 9 user definable functions, which can also be written and
  29.      edited using the built-in editor.  There is also a provision for 9
  30.      user supplied machine language routines.
  31.  
  32.   7. It has a command to display the registers in the hex floating point
  33.      format.  This is a great convenience as well as an educational tool.
  34.  
  35.   8. It is capable of reading a text file for data.  This allows running
  36.      several programs on the same data.  It also allows additions to the
  37.      data without typing it all in again.  This ability greatly enhances
  38.      its usefulness for statistical programs.
  39.  
  40.   9. It has a printer interface with formatting (print using) abilities.
  41.  
  42.  10. There are 144 memory registers (in 16 banks of 9 each) and 4 stack
  43.      registers and a number of memory manipulation commands.
  44.  
  45.  11. It has a "step" mode for debugging and examining the workings of a
  46.      program.
  47.  
  48.  12. It has resident "help" information accessible at any time.
  49.  
  50.  13. All keys are redefinable.
  51.  
  52.  14. It can plot functions on the high resolution screen, including
  53.      polar and parametric equations.
  54.  
  55.  15. A number of programs are included to do such calculations as
  56.      computing averages and standard deviations, doing linear regression
  57.      and chi square calculations, finding the roots of a cubic polynomial
  58.      (including the complex roots), finding the residue of a complex
  59.      function, computing the area of a polygon, and more.
  60.  GETTING FAMILIAR WITH THE CALCULATOR
  61.  
  62.     The calculator works with the "reverse polish" notation used by the
  63.  most advanced calculators.  This is a very efficient and logical method
  64.  of calculation that uses no parentheses.  (Indeed, in this calculator,
  65.  parentheses have an entirely different meaning.)  This notation may
  66.  require a little getting used to, but after a few minutes using it,
  67.  its definite advantages will become clear and its operation will become
  68.  quite natural.  Since all registers are shown on the screen, the
  69.  operation of the calculator is easily and quickly learned, much more
  70.  so than with calculators showing only the main register.
  71.  
  72.     The reverse polish method can be quickly summarized by saying that
  73.  the operations (sin, exp, log, etc.) that operate on only one number,
  74.  are performed as soon as the key is hit and are performed on the number
  75.  held in the "X" (main) register.  Those operations (times, plus, etc.)
  76.  which operate on two numbers, also are performed as soon as the key is
  77.  hit and are performed on the X and Y registers, leaving the result in
  78.  the X register.  In the latter case, the previous X and Y registers are
  79.  lost, and the "stack" moves down.  (That is, the contents of Z are put
  80.  in Y, those of T are put in Z and T retains its former value.)
  81.  
  82.     Let us go though a few simple operations to gain familiarity with
  83.  the operation of the calculator.
  84.  
  85.     Example 1:  To multiply  73  by  231:
  86.  
  87.  (a)  Enter the number  73  by pressing the 7 and then the 3 key.
  88.  (b)  Copy this to the Y register by pressing RETURN (sometimes referred
  89.       to as the ENTER key).
  90.  (c)  Enter the number 231 by pressing 2 then 3 then 1.
  91.  (d)  Do the multiplication by pressing the  *  key.  (Note that the  *
  92.       key need not be shifted, : does as well.  The same is true of the
  93.       + and ; keys.)
  94.  
  95.     Example 2:  To compute 87*87*87:
  96.  
  97.  (a)  Enter the number 87.
  98.  (b)  Copy it to the Y and Z registers by pressing RETURN twice.
  99.  (c)  Multiply all three by pressing * twice.
  100.  
  101.     Example 3:  Compute successive integral powers of 2:
  102.  
  103.  (a)  Press the key 2.
  104.  (b)  Copy it to Y, Z and T by pressing RETURN three times.
  105.  (c)  Press * several times.  Each time produces the next power of 2.
  106.  
  107.     Example 4:  Compute (3*4)+7:
  108.  
  109.  (a)  Press 3.
  110.  (b)  Press RETURN to copy 3 to Y.
  111.  (c)  Press the 4 key.
  112.  (d)  Press the * key.
  113.  (e)  Press the 7 key.  (Note that the previous result is pushed up
  114.       to the Y register when you do this.)
  115.  (f)  Press the + key.
  116.  
  117.  
  118.     Example 5:  Compute (3*4)+(7*8):
  119.  
  120.  (a)  Press 3.
  121.  (b)  Press RETURN.
  122.  (c)  Press 4.
  123.  (d)  Press *.
  124.  (e)  Press 7.  (Note that Y now contains 3*4 and X contains 7.)
  125.  (f)  Press RETURN to move the contents of Y to Z and to copy X to Y.
  126.  (g)  Press 8.  (Now X has 8, Y has 7, Z has 3*4.)
  127.  (h)  Press *.  (Now X has 8*7 and Y has 3*4.)
  128.  (i)  Press + to get the final answer.
  129.  
  130.     Example 6:  Compute  2*EXP(2):
  131.  
  132.  (a)  Press 2.
  133.  (b)  Press return to copy it to Y.
  134.  (c)  Press the E key to get EXP(2).
  135.  (d)  Press * for the final result.
  136.  
  137.     Example 7:  Compute  2*LOG(3*SQR(4*4+5))
  138.  
  139.  (a)  Press 5.  (One computes from the inside out.)
  140.  (b)  Press RETURN.
  141.  (c)  Press 4.
  142.  (d)  Press RETURN to copy 4 to Y and to push 5 to Z.
  143.  (e)  Press * to compute 4*4 in X and pull 5 down to Y.
  144.  (f)  Press + to add 4*4 to 5.
  145.  (g)  Press Q to compute the square root.
  146.  (h)  Press 3 which will automatically push the previous result to Y.
  147.  (i)  Press *.
  148.  (j)  Press L to compute the logarithm (natural).
  149.  (k)  Press 2.
  150.  (l)  Press * for the final result.
  151.  
  152.     Example 8:  Compute ARCSIN(.5)/PI in radians:
  153.  
  154.  (a)  If "RAD" is not showing in upper case then press %.
  155.  (b)  Press the . key then 5.
  156.  (c)  Press A then S to get the ARCSIN.
  157.       (Note that after pressing A only S, C, T, or H will be accepted.
  158.       If you typed A then H then S then ARGSINH(.5) would result.)
  159.  (d)  Press P to get PI and to push the previous result up.
  160.  (e)  Press / to divide for the final answer.
  161.  
  162.     Example 9:  Compute the square of SIN(30 degrees):
  163.  
  164.  (a)  Press the % key if needed to make "DEG" show on the screen.
  165.  (b)  Press 3 then 0.
  166.  (c)  Press S to compute the SIN.
  167.  (d)  Press RETURN to copy the result to Y.
  168.  (e)  Press * to multiply it by itself.
  169.  
  170.  GENERAL DESCRIPTION OF OPERATION
  171.  
  172.     As indicated by the examples, there are certain times when an
  173.  automatic "enter" is performed when you start a numerical entry (or
  174.  PI or a memory recall).  The question arises as to when this happens
  175.  and when it does not.  The answer is that the auto-enter is done when
  176.  the previous operation is such that there would be no reason for it
  177.  having been made if its result is not desired.  More precisely, an
  178.  auto-enter is done when one starts numerical input or PI or a memory
  179.  recall after any function (sin, log, etc.) or arithmetic operation
  180.  (*, +, etc.) or any user defined function (Y followed by 1-9) or a
  181.  memory recall (R followed by 1-9).  An auto enter is NOT done
  182.  following a memory store (M followed by 1-9), an ENTER (RETURN key),
  183.  a stack operation (U, D, X), or a register clear (control X).
  184.  The mode change keys (%, $, #, J, cntr Z), the increase or decrease
  185.  memory keys (<, >), and the keys used for programming instructions do
  186.  not affect the status of the auto enter.  When in doubt, of course,
  187.  one should just press the RETURN key to do the "enter" manually, or,
  188.  if an enter is not desired, just use control X which clears the  X
  189.  register and turns off any auto enter.
  190.  
  191.     The effect on the stack of any function of one argument (sin, exp,
  192.  1/x, etc.) is simply that the operation is performed on the X register
  193.  and the other registers are not affected.  This is also the case for
  194.  a user defined function, even if it makes use of other registers.
  195.  Operations which require two arguments (*, +, ^, etc.) place the result
  196.  in the X register, destroy the Y register, move Z to Y, T to Z and
  197.  retain the T register.  This is also the case with an integration, even
  198.  though the function being integrated requires use of other registers.
  199.  
  200.     Key M followed by 1-9 copies the X register to the specified memory
  201.  register.  Key R followed by 1-9 recalls the specified memory register
  202.  to the X register (after performing an auto enter if the previous
  203.  operation calls for one).  Key ^A followed by 1-9 adds the X register
  204.  to the specified memory register.
  205.  
  206.     Radian or degree mode can be toggled by the % key.  In complex mode
  207.  only the radian measure is supported and a switch (control Z) to complex
  208.  mode automatically brings up radian measure mode.  Radian measure is
  209.  automatically selected upon running or stepping a program.
  210.  
  211.     Hex mode, produced by key $, causes the registers to be displayed in
  212.  their exact 5 byte floating point hex format, just as they are stored
  213.  in memory.  This is a great facility for studying how Applesoft basic
  214.  handles floating point numbers.  Hex mode does not affect numeric input
  215.  which is always done in decimal form.  Key # switches back to decimal
  216.  display.
  217.  
  218.     Since the E key is the EXP function and the - key is the subtract
  219.  function, other keys must be used to produce the - and E characters
  220.  for numeric input.  These are the keys _ and W.  Note that the negate
  221.  key is convenient for inputting a negative number, however.
  222.  
  223.  
  224.  
  225.  CONFIGURATION
  226.  
  227.     The ProDOS startup convention is used to send an initialization
  228.  string to the printer for use by the register printing commands
  229.  (only accessible by calculator programs).  This is not used for
  230.  program listing from the editor.  For the latter purpose, the editor
  231.  provides a PR# type function that can be accessed from the editor
  232.  itself.  If the STARTUP (at relative position 6 in the CALC file)
  233.  is empty then the printer setup is ignored.  Otherwise you are asked
  234.  if you want printer output (note you only get output if the particular
  235.  calculator program has printer output instructions).  If you type "Y"
  236.  then you are asked to turn on the printer and hit RETURN.  Upon doing
  237.  this, the printer initialization string is sent to the printer.
  238.  In this string the character "^" is an instruction to interpret the
  239.  next character as a control character.  Two examples of common
  240.  printer initialization strings are
  241.  
  242.         ^M        (just a return)
  243.         ^I80N
  244.  
  245.  
  246.  EXIT FROM THE CALCULATOR
  247.  
  248.     Exit can be made at any time by hitting RESET.  There is also an exit
  249.  provision from the HELP menu.  These exit via the ProDOS quit command.
  250.  Thus, if you are using a program selector like PROSEL, these will return
  251.  to the selector.
  252.  
  253.  LOADING AND SAVING PROGRAMS
  254.  
  255.     The L and S commands on the help menu are for loading and saving of
  256.  calculator programs.  Typing them will do a CATALOG and then ask for the
  257.  program name.  The name extension (.PRG) is supplied by the computer,
  258.  you don't type it.  The catalog can be "stopped" by typing control C.
  259.  
  260.  
  261.  
  262.  NUMERICAL INPUT
  263.  
  264.     When the word DATA is displayed at the lower left of the screen,
  265.  the calculator is expecting numeric input.  This ordinarily happens
  266.  when a program is running that wants input from the keyboard.  It can
  267.  be brought up in immediate mode, however, simply by pressing the ESCAPE
  268.  key.  When DATA is showing, the memory and stack operations are not
  269.  available and, similarly, the two-register functions cannot be used.
  270.  You may type a number, use a single argument function, or combinations
  271.  of these.  (To input PI, for example, just press P.)  The input is
  272.  terminated by the ESCAPE key or the RETURN key, which, in this mode,
  273.  is no longer an ENTER!  In this mode the - key and the E key just
  274.  give those characters.  (It is possible to perform an EXP function in
  275.  this mode by using the @ key.)  When input is terminated by ESCAPE or
  276.  RETURN the word DATA will disappear from the screen and two bells will
  277.  sound.  (One bell sounds when the first ESCAPE is pressed.)
  278.  
  279.  Example: Input  -1.34E-12
  280.  
  281.  Method 1: type _1.34W_12
  282.  Method 2: type ESC (if DATA is not showing) then -1.34E-12 RETURN
  283.  Method 3: type 1.34W_12N
  284.  Method 4: type ESC (if DATA is not showing) then 1.34E-12N RETURN
  285.  
  286.  
  287.  DEGREE/RADIAN MODES
  288.  
  289.     Key % switches between these modes.  The only things affected by the
  290.  status of this mode are the trigonometric functions sin, cos, tan,
  291.  arcsin, arccos and arctan.  A switch to complex mode automatically
  292.  selects radian mode and a switch to degree mode cannot be done when in
  293.  complex mode.  Running a program automatically selects radian measure
  294.  so programs intended for degree mode should start with "%".
  295.  
  296.  HELP PROVISIONS
  297.  
  298.     At any time, even when a program is requesting input, you can read
  299.  the help information or you can even list the program that is in memory
  300.  without affecting the status of the program or the registers.  To do
  301.  this, simply type the help command "?".  This leads to the help menu
  302.  from which several disk commands can be issued as well as the help
  303.  listing and entry to the program editor.  The help listing describes
  304.  the action of all active keys.  To return to the calculator from the
  305.  help menu just type Q for "quit".
  306.  COMPLEX MODE
  307.  
  308.     The control Z key toggles complex mode.  When in this mode, the
  309.  display of imaginary parts can be toggled with the J key.  Real parts
  310.  are shown as normal text, while the imaginary parts are in inverse
  311.  text.  If a "+" is displayed to the right of a number then the other
  312.  part of the number is nonzero.  For technical reasons, the degree mode
  313.  is not available when in complex mode.  All functions are supported by
  314.  complex mode.  (For example, try the square root or log of -1.)
  315.  Running a program automatically sets real mode.  Thus a program that
  316.  is to use complex mode must start with the control Z command.  The
  317.  program will also default to real part display and should keep track of
  318.  the status of this display if unexpected results are to be avoided.
  319.  To input a number in complex mode just type the real or imaginary part,
  320.  whichever is showing, then J then the other part.  Usually the entry of
  321.  a number will automatically zero the opposite part, so it may not be
  322.  necessary to do that manually.
  323.  
  324.     Since complex mode entails significantly more internal calculations
  325.  than does real mode, you should expect slower operation and slightly
  326.  less accurate computations.
  327.  
  328.     In complex mode, integrations (see the section on definite integrals)
  329.  are done along the line joining the contents of the X and Y registers.
  330.  By piecing together such segments, more complicated line integrals can
  331.  be done.  (See the program RESIDUE.PRG.)
  332.  
  333.  PROGRAMMING
  334.  
  335.     A program can be entered into memory either from the calculator
  336.  or from the editor.  The latter is to be preferred for complicated
  337.  programs, but in the former case you can see what is happening to the
  338.  registers.
  339.  
  340.     The command to begin entry of a program is control P.  (From the
  341.  editor, however, you just type A for add.)  You must end entry of a
  342.  program with a control E.  In between the control P and control E
  343.  just type any sequence of operations you want performed by the program.
  344.  If you want the program to pause for user input then press the escape
  345.  key.  If you are writing the program from calculator mode rather than
  346.  from the editor then you can type any number at this point (while the
  347.  word DATA is displayed) and this will NOT go into the program.  To
  348.  terminate the data entry and continue writing the program, press the
  349.  escape again or the return key.
  350.  
  351.     To write a looping segment into a program, type a control W (for
  352.  "while"), followed by -, #, or + (indicating while negative, while
  353.  nonzero, and while positive or zero).  The loop segment must be
  354.  terminated by a control L followed by specification of a memory
  355.  register 1-9.  When the program is running, the loop will continue
  356.  while the specified condition holds for the specified memory register,
  357.  or until a "skip" command (the right arrow, control U) is pressed by
  358.  the user in place of a numerical input.  Note that the decrement memory
  359.  command can be used to do a loop with an explicit number of steps.
  360.  
  361.     Looping segments can be nested up to about 32 levels.
  362.     A \ key followed by -,#, or + puts an IF condition in the program
  363.  This causes a skip to the next ELSE or ENDIF if the X register is
  364.  non-negative, zero, or negative, respectively.  An ELSE is provided
  365.  by the control V key and reverses the IF condition.  An ENDIF is given
  366.  by control Q.
  367.  
  368.     For example, to write a program which will get input from the user
  369.  and then compute xsin(x), where x is the input, just type the sequence
  370.  of keys  ^P ESC 1 ESC RETURN S * ^E.  (From the editor, you would type
  371.  "D1," to first delete a program in memory, then "A RETURN" to go to the
  372.  add mode, then ESC RETURN S * ^E.)
  373.  
  374.     For another example, to write a program which would select complex
  375.  mode, get input, and compute log(sin(x)) of the input, just type
  376.  ^P ^Z ESC ESC S L ^E.  Note that an error will be displayed as soon as
  377.  you type the L if the X register contains 0.  This will not affect
  378.  the program being entered, but if you want to avoid this you could
  379.  type any number between the two escapes.
  380.  
  381.     Note that you can go to the editor at any time to modify or expand
  382.  your program.
  383.  
  384.  
  385.  RUNNING A PROGRAM
  386.  
  387.     Typing a control R will run the program in memory.  In order to
  388.  increase speed (by a factor of 60 or so) the registers are not displayed
  389.  when a program is running.  If the program stops and displays the word
  390.  DATA at the lower left then it is expecting numerical input.  The input
  391.  should be done as described under "NUMERICAL INPUT" and terminated with
  392.  either an ESC or a RETURN.  Some programs will loop forever if they
  393.  expect an indeterminate amount of data input.  (For example, a program
  394.  to average a list of numbers input by the user.)  Such programs should
  395.  be terminated with the right arrow key which causes the current loop to
  396.  be skipped.  (Some programs may have more than one of these.)
  397.  
  398.     You can also "step" a program by issuing control S instead of
  399.  control R.  In this case the registers are displayed at each step.
  400.  Each step waits for a keypress to continue.  In addition, the operation
  401.  to be processed next is indicated at the lower right.  In this
  402.  indication, control characters are shown in inverse.  The inverse
  403.  hyperbolic functions are indicated by a lower case "a" which will show
  404.  up as an exclamation mark if the computer does not have a lower case
  405.  adaptor.  Otherwise the command is shown by the key or key sequence used
  406.  to issue the command.
  407.  
  408.     A program can be run with register display by using the step command
  409.  and then holding down the space bar and repeat keys.  Stepping is
  410.  invaluable for debugging a program.
  411.  
  412.     At any time a running or stepping program can be aborted with the
  413.  control E (end) command.
  414.  
  415.     During program execution the ^R and ^S keys can be used to switch
  416.  between the RUN and STEP modes.
  417.  
  418.  
  419.  USING DATAFILES
  420.  
  421.     For some types of programs, particularly statistical ones, you may
  422.  want to run the program on a list of data without having to type the
  423.  data in every time.  For this, there is a provision for the access by
  424.  a program of a text file for numerical input rather than input from
  425.  the keyboard.  The text file, called here a datafile, must have a name
  426.  which ends with ".DATA".  It must be opened by going to the help menu
  427.  and typing the O command and then giving the name of the datafile.
  428.  At this point you will be returned to the calculator and the name of
  429.  the datafile will be displayed at the top of the screen after the name
  430.  of the last loaded program.  Then you should type control R to run the
  431.  program.  When the program first pauses for input, just type control D
  432.  instead and the program will proceed to read input from the open file.
  433.  At the end of the program, the file will be closed and will have to be
  434.  reopened to be used again.  If the program expects termination by the
  435.  right arrow "skip" command, then the datafile should end with that
  436.  character.  If the file reaches its end before the program ends and
  437.  does not have the proper skip, you will see "Hit a key" at the bottom
  438.  of the screen.  When a key is hit, you will be sent to the help menu.
  439.  At that point you can return to the calculator and type control E to
  440.  abort the program, or you can open another datafile.  In the latter
  441.  case, the program will continue operation with the new datafile.
  442.  (This is automatic.)  Thus, datafiles can be chained in this manner.
  443.  
  444.     Datafiles can be written by a basic program or by a text editor such
  445.  as the MERLIN assembler.  Commas may be used to separate data in a
  446.  datafile as well as carriage returns.  The calculator interprets commas
  447.  and carriage returns equivalently when read from a datafile.
  448.  
  449.  
  450.  USING THE EDITOR
  451.  
  452.     Typing E from the help menu, sends you to the editor.  There you can
  453.  do various things.  For example the program in memory can be listed by
  454.  the L command.  L10,20 will list lines 10 to 20, L10, will list line 10
  455.  to the end, etc.  The listing can be paused by hitting the space bar,
  456.  and then stepped by repeated hittings of the space bar.  The listing is
  457.  aborted by control C or key /.  Any other key restarts the listing.
  458.  A listing can be sent to a printer by typing a P(slot #) command, any
  459.  required initialization string and then the list command (each of these
  460.  must be terminated by a carriage return).  P0 will turn the printer
  461.  interface off again as will a return to the help menu by the Q command.
  462.  
  463.     You may delete any range of lines and may insert or add new ones.
  464.  Note that "D1, <RTN>" will delete the entire program.  Any insertion or
  465.  addition must be terminated by a control E (for end).  This important
  466.  character should be remembered at all times.  It is used to end a
  467.  program, end programming commands, end insertion of lines, etc.
  468.  
  469.     From the editor you can also access key redefinition.  See the
  470.  section describing that option.
  471.  NUMERICAL INTEGRATION
  472.  
  473.     The calculator has a built in facility for doing numerical definite
  474.  integrals.  The algorithm used is Simpson's rule with 128 subdivisions.
  475.  In most cases the accuracy is quite good.  To do a numerical integration
  476.  from the keyboard, you must write a short program segment that starts
  477.  with "(", which is the signal for start of integration, then contains
  478.  the function to be integrated, then ends with ")", meaning end of
  479.  integral.  The function inside the parentheses should be thought of as
  480.  acting on the contents of the X register and terminating with the value
  481.  of the function in the X register.  (For example the "function" RETURN
  482.  RETURN * * is the cube function, and the integration program written
  483.  by the key sequence  ^P ( RETURN RETURN * * ) ^E  will represent the
  484.  integral of X*X*X.
  485.  
  486.     To perform the integration, once the program segment has been
  487.  entered, you just place the left end point in the X register, the
  488.  right end point in the Y register and run the program.  Thus, to
  489.  integrate X*X*X from 3 to 5, you would enter the program segment shown
  490.  above, then type 5 RETURN 3 ^R.
  491.  
  492.     Integrations may also be performed in complex mode.  There is no
  493.  difference except that the "program" must begin with ^Z to turn on
  494.  complex mode.  Also, of course, more time will be required for the
  495.  computations to be performed in this mode.  By putting together
  496.  several integrations in a program, one can integrate over any polygonal
  497.  path in the complex plane.  See, for example, the program RESIDUE.PRG
  498.  which does an integration along a diamond shaped path about the origin.
  499.  
  500.     In the real mode only there is a provision for precision integration.
  501.  This is an "adaptive iterative routine" which continues to subdivide
  502.  the interval until the numerical approximation becomes stable within
  503.  a specified tolerance.
  504.  
  505.     The command for this mode is simply two integral "(" commands in
  506.  a row.  (It is also suggested that the end of integral command ")"
  507.  be doubled so that the editor listing will have the correct tabbing.
  508.  This is not required, however.)  On entry to a precision integration,
  509.  the T register should contain the desired tolerance.  If this is zero,
  510.  or if it is less than the calculator deems appropriate, then the
  511.  calculator will choose a tolerance automatically, usually 1E-6.
  512.  On completion of the integration, this T register will have dropped
  513.  into the Z register and the T register will contain the estimated
  514.  maximum error in the result.  Note that the actual precision of the
  515.  result will usually be better than shown by the tolerance in the T
  516.  register, often by two decimal places or more.  This is because the
  517.  tolerance represents a worst case estimate.
  518.  
  519.     The precision mode is recommended when the function is very wiggly
  520.  such as those involved in computing the higher Fourier coefficients of
  521.  a function.  The tolerance should not be taken too small, since this
  522.  causes longer runs.  Usually a tolerance of 1E-4 works well.
  523.  An OUT OF MEMORY error will indicate that the integration "stack"
  524.  has overflowed and the integral cannot be computed within the
  525.  specified tolerance.
  526.  
  527.